#ifndef __SCHED_H__
#define __SCHED_H__

#include <global/header/types.h>
/* LOCAL SCOPE SCHEDULER INTERFACE */

struct sched_node_s
{
	 uint32_t level;
	 struct sched_node_s *next, *prev;
};


int sched_init(void);

void sched_init_node(struct sched_node_s *node, uint32_t level);

struct sched_node_s *sched_pick(void);
int                  sched_should_yield(struct sched_node_s *node);
void                 sched_insert(struct sched_node_s *node);
void                 sched_remove(struct sched_node_s *node);

#endif
